查看原文
其他

源代码来了 | 英伟达开源行人生成/重识别代码

郑哲东 OpenCV学堂 2020-02-04

点击上方↑↑↑“OpenCV学堂”关注我

作者博客: https://blog.csdn.net/Layumi1993

前几天英伟达开源了DG-Net的源码。让我们来回顾一下这篇CVPR19 Oral的论文。


论文是英伟达(NVIDIA), 悉尼科技大学(UTS), 澳大利亚国立大学(ANU)的研究人员 在CVPR19上口头报告的文章《 Joint Discriminative and Generative Learning for Person Re-identification》。深度学习模型训练时往往需要大量的标注数据,但收集和标注大量的数据往往比较困难。作者在行人重识别这个任务上探索了 利用生成数据来辅助训练的方法。通过生成高质量的行人图像,将其与行人重识别模型融合,同时提升行人生成的质量和行人重识别的精度。

论文链接:
https://arxiv.org/abs/1904.07223
B 站视频: 
https://www.bilibili.com/video/av51439240/
腾讯视频: 
https://v.qq.com/x/page/t0867x53ady.html
代码地址:
https://github.com/NVlabs/DG-Net

代码运行效果:(训练100000次迭代)

开发环境

Python 3.6
GPU Memory >= 15G 如果使用fp32精度
GPU Memory >= 10G 如果使用fp16精度,可以节省一部分显存
NumPy
PyTorch 1.0+
[Optional] APEX (使用fp16要安装)

数据集下载地址

采用的是Market-1501 数据集 

http://www.liangzheng.com.cn/Project/project_reid.html

训练好的模型下载

百度网盘
https://pan.baidu.com/s/1503831XfW0y4g3PHir91yw 
password: rqvf
GoogleDrive
https://drive.google.com/open?id=1lL18FZX1uZMWKzaZOuPe3IuAdfUYyJKH

测试效果如下:

行人重识别的精度:

生成的行人图像:

训练方法

选项已经内置到yaml文件中,若按照全精度fp32来运行,约占用15G显存。python train.py --config configs/latest.yaml
若使用半精度训练,则只使用约10G显存。

python train.py --config configs/latest-fp16.yaml
训练的log可使用tensorboard 来查看

tensorboard --logdir logs/latest


作者简介

本文的第一作者郑哲东是悉尼科技大学计算机科学学院的博士生,预计2021年 6 月毕业。该论文是其在英伟达实习期间的成果。


目前已经发表8篇论文。其中一篇为ICCV17 spotlight,被引用超过了300次。首次提出了利用GAN生成的图像辅助行人重识别的特征学习。一篇TOMM期刊论文被Web of Science选为2018年高被引论文,被引用超过200次。同时,他还为社区贡献了行人重识别问题的基准代码,在Github上star超过了1000次,被广泛采用。


另外,论文的其他作者包括英伟达研究院的视频领域专家 - 杨晓东、人脸领域专家禹之鼎(Sphere Face,LargeMargin作者)、行人重识别专家郑良博士,郑哲东的导师杨易教授(今年有三篇 CVPR oral 中稿)、和英伟达研究院的副总裁 Jan Kautz。



往期精选

告诉大家你 在看


    您可能也对以下帖子感兴趣

    文章有问题?点此查看未经处理的缓存